package top.aicey.ai.sparring.dto.res;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import top.aicey.ai.sparring.dto.enums.EvaluationStatusEnum;

import java.util.List;

/**
 * 评价信息
 */
@Data
public class EvaluationReportResponse {

    /**
     * id
     */
    private Long id;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private EvaluationStatusEnum status;

    /**
     * 评价分
     */
    @ApiModelProperty(value = "评价总分")
    private Integer score;


    /**
     * 评分
     */
    @JSONField(name = "dimension_score")
    @JsonProperty(value = "dimension_score")
    @ApiModelProperty(value = "评分")
    private List<DimensionNode> dimensionScore;

    /**
     * 评语
     */
    @ApiModelProperty(value = "评语")
    private String comment;


    /**
     * 用户通讯记录
     */
    @JSONField(name = "user_call_log_responses")
    @JsonProperty(value = "user_call_log_responses")
    @ApiModelProperty(value = "用户通讯记录")
    private List<UserCallLogResponse> userCallLogResponses;

    @AllArgsConstructor
    @Getter
    @ApiModel("维度信息节点")
    public static class DimensionNode{

        /**
         * 维度名
         */
        @JSONField(name = "name")
        @JsonProperty(value = "name")
        @ApiModelProperty(value = "维度名")
        private String name;

        /**
         * 维度分数
         */
        @JSONField(name = "value")
        @JsonProperty(value = "value")
        @ApiModelProperty(value = "维度分数")
        private Integer value;
    }
}
